package br.slic.entidade;

import java.util.ArrayList; 
import java.util.List; 

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
import javax.persistence.PrimaryKeyJoinColumn;

@Entity
@PrimaryKeyJoinColumn(name="id")
public class Produto extends Item {

	private static final long serialVersionUID = -1884298992611454352L;
	
	@Column
	private Double preco;
	
	@Column
	private Integer prazoValidade;
	
	@ManyToMany
	@JoinTable(name="produto_insumo")
	private List<Insumo> insumos = new ArrayList<Insumo>();
	
	@ManyToOne
	private Linha linha;
	
	@Column
	private String caminhoImagem;
	
	/**
	 * @return the caminhoImagem
	 */
	public String getCaminhoImagem() {
		return caminhoImagem;
	}
	/**
	 * @param caminhoImagem the caminhoImagem to set
	 */
	public void setCaminhoImagem(String caminhoImagem) {
		this.caminhoImagem = caminhoImagem;
	}
	/**
	 * @return the preco
	 */
	public Double getPreco() {
		return preco;
	}
	/**
	 * @param preco the preco to set
	 */
	public void setPreco(Double preco) {
		this.preco = preco;
	}
	/**
	 * @return the prazoValidade
	 */
	public Integer getPrazoValidade() {
		return prazoValidade;
	}
	/**
	 * @param prazoValidade the prazoValidade to set
	 */
	public void setPrazoValidade(Integer prazoValidade) {
		this.prazoValidade = prazoValidade;
	}
	/**
	 * @return the insumos
	 */
	public List<Insumo> getInsumos() {
		return insumos;
	}
	/**
	 * @param insumos the insumos to set
	 */
	public void setInsumos(List<Insumo> insumos) {
		this.insumos = insumos;
	}
	/**
	 * @return the linha
	 */
	public Linha getLinha() {
		return linha;
	}
	/**
	 * @param linha the linha to set
	 */
	public void setLinha(Linha linha) {
		this.linha = linha;
	}
	/* (non-Javadoc)
	 * @see java.lang.Object#toString()
	 */
	@Override
	public String toString() {
		return "Produto [preco=" + preco + ", prazoValidade=" + prazoValidade
				+ ", linha=" + linha + ", caminhoImagem=" + caminhoImagem + "]";
	}
	
}